﻿using System;
using System.Collections.Generic;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace UI.NetworkDiagram
{
    public delegate void OnFinishedGraphRendering();

    public interface IGraphRenderer
    {
        event OnFinishedGraphRendering GraphRenderFinished;
        bool IsStopped { get; set; }
        void UpdatePositions(
            List<Vertice> vertices, List<Edge> edges,
            Rect constraintRect, int iteration,
            double attractForceConst, double repellingForceConst);
        void RenderEdges(
            List<Vertice> vertices, List<Edge> edges);
    }
}
